package com.zb.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zb.annotation.ListPattern;
import com.zb.annotation.NumberPattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;

/**
 * @Author WEN
 * @Date 2024/2/5 0005
 **/
@Data
@ApiModel("工单策略SLA详情对象")
public class WorkSlaDetailVo {
    @ApiModelProperty(value = "SLA ID")
    private Long id;

    @ApiModelProperty(value = "SLA名称")
    private String name;

    @ApiModelProperty(value = "适用模块")
    private List<String> modules;

    @ApiModelProperty(value = "生效时间类型：1-全天，2-时间范围")
    private Integer dateType;

    @ApiModelProperty(value = "生效开始时间，当date_type=2时生效")
    @JsonFormat(pattern = "HH:mm")
    private Date startTime;

    @ApiModelProperty(value = "生效结束时间，当date_type=2时生效")
    @JsonFormat(pattern = "HH:mm")
    private Date endTime;

    @ApiModelProperty(value = "提醒方式：1-系统消息，2-微信，3-短信，支持多选")
    private List<String> remindMode;

    @ApiModelProperty(value = "SLA状态：false-启用，true-禁用")
    private Boolean status;

    @ApiModelProperty(value = "备注描述")
    private String remark;

    @ApiModelProperty(value = "工单策略SLA触发条件")
    private List<WorkSlaDetailConditionVo> conditionVos;
}
